package com.ruoyi.asset.tool.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.ruoyi.common.annotation.Translation;
import com.ruoyi.common.constant.TransConstant;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.tools.convert.ExcelOssDownloadConver;
import com.ruoyi.common.tools.excel.base.DataCheckResult;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 作业工具导入明细对象
 *
 * @author cc
 * @date 2023-08-29
 */
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = true)
public class ToolVo extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 编号
     */
    @ExcelProperty(value = "工具编码")
    private String toolCode;

    /**
     * 工具名称
     */
    @ExcelProperty(value = "工具名称")
    private String toolName;

    /**
     * 工具类型
     */
    @ExcelProperty(value = "*工具类型（必填）")
    private String toolType;

    /**
     * 工具照片
     */
    @ExcelProperty(converter = ExcelOssDownloadConver.class, value = "工具照片")
    private String toolPhoto;

    @Translation(type = TransConstant.OSS_ID_TO_URL , mapper = "toolPhoto")
    private String photoUrl;

    /**
     * 技术参数
     */
    @ExcelProperty(value = "技术参数")
    private String technicalParameters;

    /**
     * 技术参数1
     */
    @ExcelProperty(value = "技术参数1")
    private String technicalParameters1;

    /**
     * 技术参数2
     */
    @ExcelProperty(value = "技术参数2")
    private String technicalParameters2;

    /**
     * 区
     */
    @ExcelProperty(value = "*区（必填）")
    private String region;

    /**
     * 街道
     */
    @ExcelProperty(value = "*街道（必填）")
    private String street;

    /**
     * 社区
     */
    @ExcelProperty(value = "*社区（必填）")
    private String community;

    /**
     * 片区
     */
    @ExcelProperty(value = "片区")
    private String jurisdictions;

    /**
     * 地址
     */
    @ExcelProperty(value = "*地址（必填）")
    private String address;

    /**
     * 服务生效日期
     */
    @ExcelProperty(value = "*服务生效日期（必填）")
    @DateTimeFormat(value = "yyyy-MM-dd")
    private Date serviceBeginDate;

    /**
     * 服务截止日期
     */
    @ExcelProperty(value = "*服务截止日期（必填）")
    @DateTimeFormat(value = "yyyy-MM-dd")
    private Date serviceEndDate;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;

    /**
     * 服务类型
     */
    private String serviceType;

    /**
     * 数据检查结果
     */
    private DataCheckResult dataCheckResult = new DataCheckResult();

}
